package com.wtwd.campus.jdzc.dao;

import com.wtwd.campus.entity.Alarm;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface JdzcDeviceAlarmMapper {
    /**
     * 根据设备id查找闹钟信息
     */
    List<Alarm> getAlarmListByDeviceId(@Param("deviceId") Integer deviceId);

    /**
     * 根据id设置一个闹钟的开关
     */
    int closeAlarmById(@Param("id") Integer id, @Param("flag") Integer flag);

    /**
     * 根据id查找一条数据
     */
    Alarm queryAlarmById(Integer id);

    /**
     * 根据id修改一条信息
     */
    int modifyAlarm(@Param("alarm") Alarm alarm);

    /**
     * 添加一条闹钟信息
     */
    int addAlarm(@Param("alarm") Alarm alarm);

    /**
     * 修改一个闹钟信息（所有）
     */
    int modifyAlarmMess(@Param("alarm") Alarm alarm);

    /**
     * 根据设备id和序列号修改一个闹钟的状态
     * @param status
     * @param deviceId
     * @param seq
     * @return
     */
    int modifyStatusByDeviceIdAndSeq(@Param("status") Integer status, @Param("deviceId") Integer deviceId, @Param("seq") Integer seq);

    /**
     * 根据设备id和序列号查一个闹钟
     * @param deviceId
     * @param seq
     * @return
     */
    Alarm getAlarmByDeviceIdAndSeq(@Param("deviceId") Integer deviceId, @Param("seq") Integer seq);

    /**
     * 根据设备id和序列号删除一笔信息
     * @param deviceId
     * @param seq
     * @return
     */
    int deleteAlarmByDeviceIdAndSeq(@Param("deviceId") Integer deviceId, @Param("seq") Integer seq);
}
